home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Belgian Amiga Club - ADF Collection
/
BS1 part 34.zip
/
BS1 part 34
/
FredFish PD 316.adf
/
SmartIcon
/
src
/
hooks.asm
< prev
next >
Wrap
Assembly Source File
|
1990-02-06
|
2KB
|
94 lines
* This code contains the routines that are called instead of the normal *
* Rom routines. *
* Special action is performed either before or after the normal Rom *
* code. *
* *
* This code is rather heavy but it works. *
include 'include:exec/types.i'
GADGETDOWN EQU $00000020
GADGETUP EQU $00000040
xref _Hook
xdef _OWentry_point
xdef _CWentry_point
xdef _MIentry_point
xdef _PMentry_point
STRUCTURE HK,0
LONG HK_BASE
LONG HK_SYSFUNC
LONG HK_MYFUNC
LONG HK_ENTRY
LONG HK_LVO
regboys reg d1/d2/d3/d5/a0/a1/a2/a3/a4/a5/a6
_OWentry_point: ; entry point for OpenWindow()
movem.l regboys,-(sp)
lea _Hook,a3
move.l HK_SYSFUNC(a3),a5
jsr (a5)
move.l d0,-(sp)
move.l HK_MYFUNC(a3),a5
jsr (a5)
move.l (sp)+,d0
movem.l (sp)+,regboys
rts
_CWentry_point: ; entry point for CloseWindow()
movem.l regboys,-(sp)
lea _Hook+20,a3
move.l a0,-(sp)
move.l HK_MYFUNC(a3),a5
jsr (a5)
move.l (sp)+,a0
move.l HK_SYSFUNC(a3),a5
jsr (a5)
movem.l (sp)+,regboys
rts
_MIentry_point: ; entry point for ModifyIDCMP()
movem.l regboys,-(sp)
lea _Hook+40,a3
ori.l #GADGETDOWN,d0
ori.l #GADGETUP,d0
move.l HK_SYSFUNC(a3),a5
jsr (a5)
movem.l (sp)+,regboys
rts
_PMentry_point: ; entry point for PutMsg()
movem.l regboys,-(sp)
lea _Hook+60,a3
movem.l regboys,-(sp)
move.l a1,-(sp)
move.l a0,-(sp)
move.l HK_MYFUNC(a3),a5
jsr (a5)
adda.w #8,sp
movem.l (sp)+,regboys
tst.l d0
bne.b done
move.l HK_SYSFUNC(a3),a5
jsr (a5)
done:
movem.l (sp)+,regboys
rts
end